In computing, an operating system may utilize a storage stack to process I/O (input/output) workloads generated by applications and services. A storage stack can include a set of software components and storage devices that together provide a storage platform for processing I/O workloads. The set of software components are stackable and perform various storage functions like caching, tiering, replication, as well as other storage functions. Applications and services can be configured to “run on top of” a storage stack and generate I/O workloads, which are sent to the storage stack for processing.
A storage stack may be configured to process an I/O workload using a preconfigured storage configuration, which can be tailored to the I/O workload to improve processing performance of the I/O workload. For example, an application may generate a particular I/O workload that, when processed using a particular storage technology (e.g., RAID (Redundant Array of Independent Disks), caching, tiering, etc.), improves processing performance of the I/O workload. In one example, a storage stack can be configured based on the requirements of an application's I/O workload, as well as a QoS (quality of service) policy and/or a SLA (service level agreement).
Reference will now be made to the exemplary embodiments illustrated, and specific language will be used herein to describe the same. It will nevertheless be understood that no limitation on invention scope is thereby intended.